<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/jquery-3.6.0.js"></script>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        h3 {
            padding: 20px 10px;
        }

        li {
            list-style: none;
        }

        .list li {
            line-height: 45px;
            text-indent: 10px;
            border: 1px solid #333;
        }

        .buttonGroup {
            margin-top: 20px;
        }

        .active {
            background-color: #6ff;
        }

        /* div[class] {
            font-size: 18px;
        } */
        /* li[class] {
            background: red;
        } */

        /* li[class="first"] {
            background: red;
        } */
        /* li:not([class="first"]) {
            background: red;
        } */
        /* li[class^="f"] {
            background: red;
        } */
        /* li[class$="t"] {
            background: red;
        } */

        /* li[class*="a"] {
            background: red;
        } */
        /* .list li:nth-child(even) {
            background-color: #6ff;
        } */
    </style>
</head>

<body>
    <div id="demo" class="wrap">
        <h3 id="title">批量操作元素</h3>
        <ul class="list">
            <li class="first">01</li>
            <li>02</li>
            <li>03</li>
            <li>04</li>
            <li>
                <ul class="sub">
                    <li>sub_01</li>
                    <li>sub_02</li>
                    <li>sub_03</li>
                    <li>sub_04</li>
                </ul>
            </li>
            <li class="last"><span class="demo">06</span></li>
        </ul>
    </div>
</body>
<script>
    // children()   返回匹配元素的子元素
    // children(selector)   可以接收一个表达式作为筛选条件,返回返回条件的子元素的集合

    // console.log($(".list li"));
    // console.log($(".list").children());.

    // $(".list").children("[class]").css({ background: "red" });


    // parent()   返回匹配元素的父元素 
    // console.log($(".demo").parent());
    // console.log($(".demo").parent().parent());
    // console.log($(".demo").parent().parent().parent());

    // parents()   返回匹配元素的父代元素集合
    // parents(selector)    可以接收一个表达式作为筛选条件,返回满足条件的父代元素集合
    // console.log($(".demo").parents());
    // console.log($(".demo").parents(".list"));

    // parentsUntil()   返回匹配元素的父代元素集合，直到遇到匹配的那个元素为止。
    // console.log($(".demo").parentsUntil("body"));

    // next()     返回匹配元素的下一个同级元素
    // $(".first").next().css({ background: "red" });
    // $(".first").next().next().css({ background: "blue" });

    // nextAll()   返回匹配元素 后面的所有同级元素
    // nextAll(selector)   可以接收一个表达式作为筛选条件,返回满足条件的后面的所有同级元素

    // $(".first").nextAll().css({ background: "red" });
    // $(".first").nextAll(".last").css({ background: "red" });

    // nextUntil()   返回匹配元素 后面的所有同级元素,知道遇到某个元素为止
    // $(".first").nextUntil(".last").css({ background: "red" });

    // prev()
    // prevAll()
    // prevUntil()

    // siblings()  取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合
    // siblings()  可以接收一个表达式作为筛选条件,
    // $(".first").siblings().css({ background: "red" });
    // $(".first").siblings(".last").css({ background: "red" });

    $(".first,.last").siblings().css({ background: "red" });


</script>

</html>